<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>分析生命周期</title>
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 
			调用了$destroy后到底销毁了什么？
					1.vm并没有销毁，销毁的是vm上的一些功能
					2.销毁后借助Vue开发者工具看不到任何信息。
					3.之前绑定的事件还在不在？———— 在。
					4.DOM Listener还在不在？———— 在。
					5.Data Binding在不在？ ———— 不在。
		 -->
		<!-- 准备好一个容器-->
		<div id="root">
			<h1 id="h1">当前求和为：{{sum}}</h1>
			<input type="text" v-model="msg">
			<button id="btn" @click="add">点我+1</button>
			<button @click="death">点我销毁</button>
		</div>

		<script type="text/javascript" >
			const vm = new Vue({
				// el:'#root',
				data:{
					sum:0,
					msg:''
				},
				methods:{
					add(){
						console.log('--add--')
						this.sum += 1
					},
					death(){
						this.$destroy()
					}
				},
				//初始化之前
				beforeCreate(){
					console.log('--beforeCreate--')
					// console.log(this.sum) //undefined
					// console.log(this.add) //undefined
					// console.log(this);
					// debugger;
				},
				//初始化完毕
				created(){
					console.log('--created--')
					// console.log(this.sum) //undefined
					// console.log(this.add) //undefined
					// console.log(this);
					// debugger;
				},
				//将要挂载
				beforeMount(){
					console.log('--beforeMount--')
					// const h1 = document.getElementById('h1')
					// const btn = document.getElementById('btn')
					// console.log(h1)
					// console.log(btn)
					// h1.innerHTML = '哈哈'
					// btn.innerText = '你猜猜'
					// console.log(this)
					// debugger;
				},
				//挂载完毕----重要！往往做初始化的事：开启定时器、订阅消息、发送网络请求
				mounted(){
					console.log('---mounted---')
					// const h1 = document.getElementById('h1')
					// h1.innerHTML = '哈哈'
					// console.log(this)
					// debugger;
				},
				//将要销毁----重要！往往做收尾的事：关闭定时器、取消订阅消息
				beforeDestroy(){
					console.log('--beforeDestroy--')
				},
				//销毁完毕
				destroyed(){
					console.log('--destroyed--')
				},
				//将要更新
				beforeUpdate(){
					console.log('--beforeUpdate--')
					// const h1 = document.getElementById('h1')
					// console.log(this.sum)
					// console.log(h1)
					// debugger;
				},
				//更新完毕
				updated(){
					console.log('--updated--')
					// const h1 = document.getElementById('h1')
					// console.log(this.sum)
					// console.log(h1)
					// debugger;
				}
			})
		</script>
	</body>
</html>